Low power and Lossy Networks (LLNs), e.g., sensor networks, have a myriad of applications, such as Smart Grid and Smart Cities. Various challenges are presented with LLNs, such as lossy links, low bandwidth, battery operation, low memory and/or processing capability, etc. One example routing solution to LLN challenges is a protocol called Routing Protocol for LLNs or “RPL,” which is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG, or simply DAG) in addition to a set of features to bound the control traffic, support local (and slow) repair, etc. The RPL architecture provides a flexible method by which each node performs DODAG discovery, construction, and maintenance.
Due to the constraints associated with LLNs, as well as for other types of networks and for other reasons, source routing may be used to forward packets through the network, such that a transmitting device inserts into the packet an explicitly indicated path to be followed. In this manner, devices in the network need not store routing information, and may simply pass a source-routed packet through the network according to the indicated path.
One of the main challenges with source routing (e.g., a “non-storing mode”), however, is that it may add significant header overhead to packets. For instance, in many LLNs, it is not rare to see networks with large diameters (e.g., up to 25 hops in some cases), which causes the header used to source-route the packet to become significantly large. Conversely, a network may use a “storing mode,” in which intermediate devices are required to maintain routing states, thus not incurring additional header overhead. However, the memory requirements associated with route storage in storing mode can also become too large, particularly for constrained networks/nodes.